﻿using System;
using System.Collections.Generic;

namespace Exocortex.Core.Processors.Logging
{
    //public class LogInterface : IRepoAware
    //{

    //    private T Run<T>(Func<InstructionLogger, T> command, T failValue)
    //    {
    //        var log = Cortex.FindProcessors<InstructionLogger>().FirstOrDefault();
    //        return log == null 
    //            ? failValue 
    //            : command(log);
    //    }

    //    public Dictionary<int, string> GetInstuctionHistory()
    //    {
    //        return Run(log => log.GetInstuctionHistory(), null);
    //    }

    //    public Dictionary<int, string> GetExecutingInstructions()
    //    {
    //        return Run(log => log.GetExecutingInstructions(), null);
    //    }

    //    public bool StopInstruction(int i)
    //    {
    //        return Run(log => log.StopInstruction(i), false);
    //    }

    //    #region Implementation of IRepoAware

    //    public IEngine Cortex { get; set; }
    //    public string Handle { get; set; }
    //    public void OnSet(object sender, EventArgs args) {}
    //    public void OnGet(object sender, EventArgs args) {}
    //    public void OnRemove(object sender, EventArgs args) {}

    //    #endregion
    //}
}
